草庐IT

CoffeeScript 中的 Node.js module.exports

全部标签

javascript - keydown 事件中的输入验证

我试图在keydown事件的过程中对用户文本输入进行信息验证。我试图在keydown事件中验证的原因是因为我不想在开头的input框中显示那些被认为是非法的字符.我写的验证是这样的,functionvalidateUserInput(){varcode=this.event.keyCode;if((code57)//numerical&&code!==46//delete&&code!==8//backspace&&code!==37//arrow{this.event.preventDefault();}}我可以继续这样,但是我看到了这个实现的缺点。例如:当我放置更多要检查的条件时,

javascript - 取消 JavaScript 中的 onBlur 事件?

我想为验证值的input元素设置一个onBlur事件,如果无效,则“取消”模糊并重新聚焦输入。然而,从onBlur返回false并不会像在onClick中那样取消onBlur。是否有解决方案(也许使用jQuery?) 最佳答案 我不知道有任何可靠的跨浏览器方法可以做到这一点。通常在onblur事件中设置一个小超时并在计时器触发时调用focus()。例如:document.getElementById('your_input_id').onblur=function(){varself=this;setTimeout(function

javascript - 为什么 JSON 标准中的字符串中不允许使用双引号和反斜杠?

如果我在Chrome或Firebug的JavaScript控制台中运行它,它工作正常。JSON.parse('"\u0027"')//Escapedsingle-quote但如果我在Javascript控制台中运行这两行中的任何一行,它就会抛出错误。JSON.parse('"\u0022"')//Escapeddouble-quoteJSON.parse('"\u005C"')//EscapedbackslashRFC4627section2.5似乎暗示\和"是允许的字符,只要它们被正确转义。我试过的2个浏览器似乎不允许它,但是。我在这里做错了什么或者它们真的不允许出现在字符串中吗?我

javascript - CoffeeScript 中的方法调用语法

我是CoffeeScript的新手,我似乎对调用方法的语法有疑问。这是卡片模型:classexports.CardextendsBackbone.Modeldefaults:pip:'4'suit:'♠'color:'b'rows:->rows='4':[2,0,2]rows[@pip]以及模板的相关部分:">这给我错误UncaughtTypeError:Object#hasnomethod'rows'具体来说,我想知道我是否对Card的rows方法使用了不正确的语法,或者我是否只是误解了什么。提前致谢!更新:出于某种原因,@card.property总是工作正常,但是@card.an

javascript - 我怎样才能得到一个正则表达式来找到javascript中的每一个匹配项?

这个问题在这里已经有了答案:HowcanImatchoverlappingstringswithregex?(6个答案)关闭4年前。如果我运行这个:'121'.match(/[0-9]{2}/gi)我得到一个包含单个结果的数组:['12']如何让它返回所有结果,即使它们重叠?我希望结果是这样的:['12','21']编辑:或者一个更好的例子是:'1234567'.match(...);应该给我一个数组[12,23、34,45,56,67]

javascript - 我如何模拟用户单击 JQuery 中的链接?

现在这里有很多类似的问题,但我想知道,如果我不想只更改窗口的location,而是触发任何可能的功能,我该怎么办绑定(bind)到click事件,并且只有在他们同意的情况下才更改href,或者如果没有监听器则只是重定向。例如:vara=$('.edithost');a.click(function(){returnfalse;});如果我用鼠标点击链接,它永远不会把我带到href,所以只要将用户重定向到attr('href')就会改变页面的预期行为。此外,点击不仅适用于链接,还适用于按钮,在这种情况下,我将不得不提交表单等。所以我想知道,是否可以模拟点击一个元素,以便浏览器的所有行为完

javascript - 在 node.js 中使用 emit 函数

我不明白为什么我不能让我的服务器运行emit函数。这是我的代码:myServer.prototype=newevents.EventEmitter;functionmyServer(map,port,server){...this.start=function(){console.log("here");this.server.listen(port,function(){console.log(counterLock);console.log("here-2");this.emit('start');this.isStarted=true;});}listenerHERE...}监听

javascript - 等同于 rspec =~ 对于 Chai 中的数组

Chai,matchers是否与rspecs=~等价(这意味着包含所有元素,但顺序无关紧要。传递示例[1,2,3].should=~[2,1,3]失败[1,2,3].should=~[1,2] 最佳答案 您可以使用最新版Chai中提供的members测试:expect([4,2]).to.have.members([2,4]);expect([5,2]).to.not.have.members([5,2,1]); 关于javascript-等同于rspec=~对于Chai中的数组,我们在

javascript - 如何绑定(bind)到 Ember.js 中的 View 重新渲染?

我有一些jQuery代码需要在呈现View时运行。对于初始渲染,我可以轻松完成App.FooView=Ember.View.extend({didInsertElement:function(){console.log("theviewwasrendered");this.$().someStuff();}});但由于someStuff()方法正在操作View元素的属性,我需要在View因数据绑定(bind)而重新呈现时运行它,因为它会丢失自定义生成的属性. 最佳答案 如果你想在某个属性改变时重新渲染View,那么你想要的看起来像这

javascript - 如何只显示 foreach 循环绑定(bind)中的第一个元素?

我正在使用knockout-2.2.0.js。我在observableArray上创建了一个foreach循环绑定(bind),我只想显示数组中的第一个元素。为此,我尝试了:(都不起作用)首先第二我知道有一个_destroy属性,如果在任何数组元素上设置该属性,则该元素将从UI中的foreach循环绑定(bind)中排除。但我不想在我的情况下使用它。谁能告诉我我在这里做错了什么? 最佳答案 您走在正确的轨道上。但是你忘了在你的两个例子中都放出()。myArray是一个可观察的数组,$index是一个可观察的,所以它们是函数,所以你需